python读取串口16进制数 |
您所在的位置:网站首页 › python 串口读取16进制 › python读取串口16进制数 |
python3串口通信——16进制数 在调试STM32与PC进行串口通信时,二者之间需要发送各种类型的数据,如uint_8、int16_t、float等等,需要将所有类型的数据转换成uint_8类型发送,同时上位机要能转换回来。 一.下位机 uint_8 型 发送:直接利用USART_SendData函数,通常配合检测发送结束位使用,如下: void usart1_send_data(uint8_t num){ USART_SendData(USART1, num); while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET); } 接收:很简单,直接赋值即可。 int16_t型 发送:int16_t型涉及到补码,但是可以留到上位机解决,只要分别发送高低8位数就可以。 void send_int16_t(int16_t num){ uint8_t high_8, low_8; low_8 = num & 0x00FF; high_8 = (num>>8) & 0x00FF; usart1_send_data(high_8); usart1_send_data(low_8); } 接收:定义一个int16_t类型的数,将接收到高低八位分别移位即可,贴的代码中的LOW和HIGH变量只是一个例子,参考这个代码改就行。 int16_t temp = 0; |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |